package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.MineUserPlaybackRecord;

/**
 * 用户播放记录Service接口
 * 
 * @author ruoyi
 * @date 2025-01-14
 */
public interface IMineUserPlaybackRecordService 
{
    /**
     * 查询用户播放记录
     * 
     * @param recordId 用户播放记录主键
     * @return 用户播放记录
     */
    public MineUserPlaybackRecord selectMineUserPlaybackRecordByRecordId(Long recordId);

    /**
     * 查询用户播放记录列表
     * 
     * @param mineUserPlaybackRecord 用户播放记录
     * @return 用户播放记录集合
     */
    public List<MineUserPlaybackRecord> selectMineUserPlaybackRecordList(MineUserPlaybackRecord mineUserPlaybackRecord);

    /**
     * 新增用户播放记录
     * 
     * @param mineUserPlaybackRecord 用户播放记录
     * @return 结果
     */
    public int insertMineUserPlaybackRecord(MineUserPlaybackRecord mineUserPlaybackRecord);

    /**
     * 修改用户播放记录
     * 
     * @param mineUserPlaybackRecord 用户播放记录
     * @return 结果
     */
    public int updateMineUserPlaybackRecord(MineUserPlaybackRecord mineUserPlaybackRecord);

    /**
     * 批量删除用户播放记录
     * 
     * @param recordIds 需要删除的用户播放记录主键集合
     * @return 结果
     */
    public int deleteMineUserPlaybackRecordByRecordIds(Long[] recordIds);

    /**
     * 删除用户播放记录信息
     * 
     * @param recordId 用户播放记录主键
     * @return 结果
     */
    public int deleteMineUserPlaybackRecordByRecordId(Long recordId);

    /**
     * 根据 userId 查询用户播放记录
     *
     * @param userId 用户ID
     * @return 用户播放记录
     */
    List<MineUserPlaybackRecord> selectMineUserPlaybackRecordByUserId(Long userId);

    /**
     * 根据 videoId 查询用户播放记录
     *
     * @param videoId 视频ID
     * @return 用户播放记录
     */
    List<MineUserPlaybackRecord> selectMineUserPlaybackRecordByVideoId(Long videoId);

    /**
     * 根据 trainingId 查询用户播放记录
     *
     * @param trainingId 培训ID
     * @return 用户播放记录
     */
    List<MineUserPlaybackRecord> selectMineUserPlaybackRecordByTrainingId(Long trainingId);
}
